/*            Copyright(c) 2006-2008 Dave Sexton           *
 * http://www.codeplex.com/DocProject                      *
 * http://www.codeplex.com/DocProject/Project/License.aspx *
 ***********************************************************/
using System;
using System.Collections.Generic;
using System.Text;

namespace DaveSexton.DocProject
{
	public abstract class BuildTrace : MarshalByRefObject
	{
		#region Constructors
		/// <summary>
		/// Constructs a new instance of the <see cref="BuildTrace" /> class for derived classes.
		/// </summary>
		protected BuildTrace()
		{
		}
		#endregion

		#region Methods
		[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.LinkDemand,
			Flags = System.Security.Permissions.SecurityPermissionFlag.Infrastructure)]
		public override object InitializeLifetimeService()
		{
			return null;
		}

		public abstract void TraceLine();

		public abstract void TraceLine(string message);

		public abstract void TraceLine(string format, params object[] args);

		public abstract void Trace(string message);

		public abstract void Trace(string format, params object[] args);

		public abstract void TracePath(string path);

		public abstract void TracePathLine(string path);

		public abstract void TraceEvent(System.Diagnostics.TraceEventType type, string category, string message, string file, int line, string userMessage);

		public abstract void FlushEvents();

		public abstract void SetProgress(string text, int completed, int total);

		public abstract void SetStatus(string text);
		#endregion
	}
}
